Most computer based applications are controlled with a graphical user interface (GUI). A GUI displays selectable elements, such as hypertext links and GUI buttons, on a display device for a user to view and select. When a selectable element is selected the underlying computer based application responds by providing information and performing certain operations. In most cases, the burden is upon the user to determine which selectable element will perform the necessary functions and achieve the desired results.
Organizing the selectable elements on a GUI in a logical manner can help a user determine which selectable element should be selected. Typically, the most frequently used selectable elements are located in an area on the GUI a user can easily access. This arrangement reduces the amount of time a user must search for a selectable element capable of performing a particular task. The additional time can be used to process additional information and perform more tasks.
In the past, computer application designers used surveys, focus groups and other similar techniques to determine which selectable elements on a GUI would be most frequently accessed. The computer designers then used this information to organize the selectable elements on a GUI. If these conventional methods were accurate, the selectable elements were organized on the GUI in an efficient manner and the GUI was easy to use.
There are several reasons, however, why these conventional techniques are not the best method of organizing selectable elements on a GUI. First, traditional techniques for organizing selectable elements on a GUI are static and do not dynamically change as the underlying application or information evolves. Generally, the organization of selectable elements on a GUI is fixed at the time a computer based applications is developed. For example, a specialized type of GUI based computer application called a "Frequently Asked Question" or FAQ contains a list of questions most frequently asked on a particular topic. Typically, the user's have new questions when the underlying topic or software application is modified. Unfortunately, the traditional FAQ is quickly outdated because these new questions are not accounted for in the FAQ. There is a need to develop FAQs which organize the most frequently asked questions on a GUI automatically.
Second, selectable elements on a GUI are not organized for different categories of users. Typically, users with different skill levels require different questions to be answered when working with a computer application. Existing methods of organizing selectable elements on a GUI do not automatically change as a user gains more experience. Similarly, users who execute the same computer applications on different computer platforms, such as Unix or MacIntosh, will also have different types of questions. There is a need to organize selectable elements which depend on different categories of users.
Third, the current methods for determining which questions are frequently asked is inefficient because they are done manually. Currently, the computer application designer must manually collect information on which selectable elements are the most frequently selected. This process of collecting information is tedious, time consuming, and subject to numerous human errors. Moreover, it is difficult to determine which selectable elements are frequently selected when the sample size is statistically small or insignificant.
There is a need to develop a method and apparatus for automatically organizing the selectable elements on a GUI as the users needs change and the underlying computer based application receives new features.